/*
 * SearchMapFAction.java
 * Copyright (c) 2006, FMap
 *
 * Created on 11 de febrero de 2006, 12:42
 */

package fmap.actions.mapF.loadResultSearch;

import fmap.DatosCompartidos;
import fmap.actions.EvtThread;
import fmap.model.MapF;
import java.awt.Cursor;
import java.util.Vector;

/**
 * Accion que debe llamar a un hilo para cargar todos los resultados de la busqueda
 * de un mapa de ficheros en el tree o el list
 *
 * @author  Javier Sanroman Araujo
 * @version $Revision: 1.1
 */
public class LoadResultSearchMapFAction implements LoadResultSearchMapFEvt
{
//    MapF mapFLoad;


    /** Creates a new instance of SearchMapFAction */
    public LoadResultSearchMapFAction ( MapF _mapF )
    {
        MapF mapFLoad = new MapF (_mapF.getId (), _mapF.getIdCollection (), _mapF.getName (), _mapF.getPath (), _mapF.getDesc (), _mapF.getIcon (), _mapF.getNumNod (), _mapF.getIdTable (), _mapF.getIdCat ());
        mapFLoad.setEstado ( DatosCompartidos.getMapFActual ().getEstado () );

        mapFLoad.setVNode ( new Vector () );
        mapFLoad.setNumResult (0);


        DatosCompartidos.getJFrameMain ().getRadioButtonArbol ().setSelected ( true );
        DatosCompartidos.getJFrameMain ().setCursor ( new Cursor (Cursor.WAIT_CURSOR) );

        // Construimos el objecto que implementa el hilo a lanzar
        LoadResultSearchMapFTh h = new LoadResultSearchMapFTh ( mapFLoad  );
        // Añadimos esta clase como listener para que reciba los eventos necesarios (finBusqueda).
        h.addMiEventoListener (this);
        // construimos el hilo
        Thread th = new Thread (h);
        
        th.start ();
    }
    
    
    
    /**
     * Implementamos nuestro evento
     * Se llamara a el cada vez que termine un hilo
     */
    
    public synchronized void finBusqueda ( EvtThread e )
    {
        // Obtenemos el hilo que ha generado el evento
        /*
        LoadResultSearchMapFTh th = (LoadResultSearchMapFTh)e.getSource ();
         
        DatosCompartidos.getJFrameMain ().getRadioButtonArbol ().setSelected ( true );
         
         
        // Creamos y enviamos un nuevo modelo al JTree del buscador
        fmap.model.MapF mapFResultSearch = new fmap.model.MapF ( mapFSearch.getIdMapF (), mapFSearch.getIdCollection (), mapFSearch.getName2 (), mapFSearch.getPath (), mapFSearch.getDesc (), mapFSearch.getIcon (), mapFSearch.getNumNod (), mapFSearch.getIdTable (), mapFSearch.getIdCat ());
         
        mapFResultSearch.setName ( mapFSearch.getName2 ()+" ["+mapFSearch.getNumResult ()+" resultados encontrados]");
         
         
        TreeModelResultSearch modelResultSearch = new TreeModelResultSearch ( mapFResultSearch );
        DatosCompartidos.getJTreeResultSearch ().setModel ( modelResultSearch );
         
        DatosCompartidos.getJFrameMain ().getJspResultSearch ().getViewport ().add ( DatosCompartidos.getJTreeResultSearch () );
         
        DatosCompartidos.getJTreeResultSearch ().expandTree ();
         
        DatosCompartidos.getJFrameMain ().getPestana ().setSelectedIndex (1);
         */
        
        DatosCompartidos.getJFrameMain ().setCursor ( new Cursor (Cursor.DEFAULT_CURSOR) );
    }
}
